package eu.irreality.dai.util;

public interface Observable
{

    /**
     * Registers an Observer object to keep track of changes in the Observable.
     * 
     * @param o
     *            The Observer object to be registered.
     */
    void addObserver(Observer o);

    /**
     * Notifies the Observer objects that an update to this Observable should
     * occur.
     */
    void notifyObservers();

    /**
     * Notifies the Observer objects that an update to this Observable should
     * occur, passing an argument.
     */
    void notifyObservers(Object arg);

}
